package com.cq.hd.member.api.vo;

import com.alibaba.fastjson.annotation.JSONField;
import com.cq.hd.common.serialize.Decimal2Serializer;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
public class AdminBankPayRecordPageVo implements Serializable {

    @ApiModelProperty(value = "id")
    private Long id;

    @ApiModelProperty(value = "订单编号")
    private String orderNo;

    @ApiModelProperty(value = "请求流水号/第三方流水号")
    private String reqSeqId;

    @ApiModelProperty(value = "请求日期")
    private String reqDate;

//    @ApiModelProperty(value = "hf全局流水号")
//    private String hfSeqId;

//    @ApiModelProperty(value = "订单失效时间")
//    private String timeExpire;

//    @ApiModelProperty(value = "请求ip")
//    private String requestIp;

    @ApiModelProperty(value = "交易金额")
    @JsonSerialize(using = Decimal2Serializer.class)
    private BigDecimal tradeAmt;

    @ApiModelProperty(value = "网银手续费")
    @JsonSerialize(using = Decimal2Serializer.class)
    private BigDecimal feeAmt;

    @ApiModelProperty(value = "到账金额")
    @JsonSerialize(using = Decimal2Serializer.class)
    private BigDecimal receiveAmt;

    @ApiModelProperty(value = "交易状态(1-待支付，2-处理中，3-充值成功，4-充值失败)")
    private Integer tradeState;

//    @ApiModelProperty(value = "财务状态(1-待支付，2-处理中，3-成功，4-失败)")
    private Integer acctState;

    @ApiModelProperty(value = "交易时间/提交时间")
    @JSONField(format="yyyy.MM.dd HH:mm:ss")
    private LocalDateTime tradeTime;

    @ApiModelProperty(value = "回调时间")
    @JSONField(format="yyyy.MM.dd HH:mm:ss")
    private LocalDateTime callbackTime;

    @ApiModelProperty(value = "失败原因")
    private String failReason;

//    @ApiModelProperty(value = "hf返回失败数据")
//    private String hfFailReason;

//    @ApiModelProperty(value = "付款方银行号")
//    private String bankId;
//
//    @ApiModelProperty(value = "付款方银行账户")
//    private String pyerAcctId;
//
//    @ApiModelProperty(value = "付款方银行账户名")
//    private String pyerAcctNm;

//    @ApiModelProperty(value = "创建时间")
//    private LocalDateTime createTime;

}
